package com.zkthink.ceres.pay.wechat.v3.entity.request.refunds;

import com.alibaba.fastjson.annotation.JSONField;
import com.zkthink.ceres.pay.wechat.v3.entity.request.BasePayRequest;
import com.zkthink.ceres.pay.wechat.v3.entity.request.profitsharing.Receivers;
import lombok.*;
import lombok.experimental.Accessors;

/**
 * <p>
 * <p>
 * 合单关闭单
 * * 参考文档：https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/combine/chapter3_3.shtml
 *
 * @author vivi.huang
 * @since 2020/5/17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class RefundsApplyRequest extends BasePayRequest {

    private static final long serialVersionUID = -8100791351891543014L;

    /**
     * 退款原因	reason	string(80)	否	query若商户传入，会在下发给用户的退款消息中体现退款原因。
     * 注意：若订单退款金额≤1元，且属于部分退款，则不会在退款消息中体现退款原因
     * 示例值：商品已售完
     */
    @JSONField(name = "reason")
    private String reason;

    /**
     * 订单金额	amount	object	是	query订单金额信息
     */
    @JSONField(name = "amount")
    private Amount amountObj;

    /**
     * 退款结果回调url	notify_url	string(256)	否	query异步接收微信支付退款结果通知的回调地址，通知url必须为外网可访问的url，不能携带参数。 如果参数中传了notify_url，则商户平台上配置的回调地址将不会生效，优先回调当前传的地址。
     * 示例值：https://weixin.qq.com
     */
    @JSONField(name = "notify_url")
    private String notifyUrl;



    @Override
    public String getUrl() {
        return null;
    }

    @Override
    public int getReadTimeoutMs() {
        return 0;
    }

    @Override
    public int getConnectTimeoutMs() {
        return 0;
    }

    @Override
    public String getRequestData() {
        return null;
    }
}